package com.xbdun.facade.bmp.service.open;

import com.xbdun.facade.bmp.request.open.CreateUserByInviteCodeRequest;
import com.xbdun.facade.bmp.request.open.OrgUserBkgeRequest;
import com.xbdun.facade.bmp.request.open.UserInfoBmpRequest;
import com.xbdun.facade.bmp.response.open.OrgUserBkgeResponse;
import com.xbdun.facade.bmp.response.open.OrgUserSaoInfoWayResponse;
import com.xbdun.facade.bmp.response.open.UserInfoBmpResponse;
import com.xbdun.facade.bmp.result.user.CreateUserByInviteCodeResult;

/**
* @ClassName: UserInfoFacade
* @Description: 对外开放获取用户基本用户信息
* @author zhanggt 360730440@qq.com
* @date 2017年5月22日 下午5:49:54
*/
public interface UserInfoFacade {
	
	/**
	* @Title: getUserInfo
	* @Description: 获取用户的基本信息
	* @param reqeust
	* @return UserInfoResponse    返回类型
	 */
	public UserInfoBmpResponse getUserInfo(UserInfoBmpRequest reqeust);
	
	/**
	* @Title: getUserCodeByUnionId
	* @Description: 根据用户的UnionId查询出用户编号
	* @param unionId	微信UnionId
	* @return Long    返回类型
	 */
	public Long getUserCodeByUnionId(String unionId);
	
	/**
	* @Title: createUserByInviteCode
	* @Description: 根据邀请码创建关联用户信息
	* @return    设定文件
	* @return CreateUserByInviteCodeResponse    返回类型
	 */
	public CreateUserByInviteCodeResult createUserByInviteCode(CreateUserByInviteCodeRequest reqeust);

	/**
	* @Title: getOrgUserSaoInfo
	* @Description: 根据机构，用户编号获取信息
	* @param orgCode	机构编号
	* @param userCode	用户编号
	* @return    设定文件
	* @return OrgUserSaoInfoWayResponse    返回类型
	 */
	public OrgUserSaoInfoWayResponse getOrgUserSaoInfo(String orgCode, String userCode);
	
	/**
	* @Title: getOrgUserBkge
	* @Description: 获取用户所在机构下的角色
	* @param request
	* @return    设定文件
	* @return OrgUserBkgeResponse    返回类型
	 */
	public OrgUserBkgeResponse getOrgUserBkge(OrgUserBkgeRequest request);
}
